import { replaceAll } from "./compat"
// 本文件负责管理不同组件的URL
// 组件的URL分为两部分：前缀和组件名称，然后才是组件的其他方法。
const baseURL = {
    prefix: "/api",
}

export const baseURLConfig = (prefix: string) => {
    if ((!prefix.startsWith("/")) && prefix != "") {
        prefix = "/" + prefix
    }
    baseURL.prefix = prefix
}

// 获取某组件某方法的URL
export const formatURL = (componentName: string, methodURL: string) => {
    // # 移除不同元素首尾的斜杠
    componentName = replaceAll(componentName, /^\/|\/$/g, "")
    methodURL = replaceAll(methodURL, /^\/|\/$/g, "")
    return `${baseURL.prefix}/${componentName}/${methodURL}`
}